Currently, with the rapid popularization of the Internet and the everyday use of computers, a variety of techniques for enhancing client authentication have been applied to computer networks.
Of those techniques, an authentication technique, in which a smart card and a password are combined together, for example, a magnetic card and a password are used to authenticate a user of an automated teller machine of a bank, is representative. Aside from the above-described authentication technique using the magnetic card, there are widely utilized hardware authentication techniques, such as fingerprint, iris, voice and image identification techniques.
Such client authentication techniques using hardware have an authentication enhancing effect in that the complexity of the authentication is increased. In order to provide more secure authentication, a smart card, which can provide a challenge-response method, is most suitable.
Alternatively, there are proposed a one-time password generation technique that changes a password whenever a client accesses a system so as to prevent the leakage of the password, and an automatic password generation technique that generates a random value in a system. However, these technologies are not widely utilized because of the inconvenience of memorizing a changed password every time.
In the other respect, when a client is authenticated in a password authentication system used for a general UNIX-based system, there may occur information leakage in which, for example, information such as a password is stolen by a third party without a client's knowledge.
That is, a counterfeit login program is executed without a client's knowledge, intercepts the password of the client and outputs a message to show that the client has inputted his password erroneously and a message to request a client to try again (in this case, the outputted message has the same format as a message to request a client to try again in the genuine login program, so the client is cheated by the message and responds to the try-again request). The client authentication is carried out while the genuine login program is executed. While the client inputs the password, a third party can obtain important information such as the password by monitoring the processing of a current process.
As a result, in a client authentication system, the necessity for the provision of a trusted path is increased.
The trusted path plays an important role in an authentication process, which allows a system to confirm that a message is generated by a client and allows information inputted by the client to be transmitted only to the system. The representative example of an authentication technology for providing a trusted path is found in a Microsoft Windows NT login program.
In the above authentication program, while a system is operated, a trusted path is provided with all the other processes being stopped. However, it can be inefficient to stop all the other processes whenever a login program is executed in a system in which a plurality of clients share a variety of resources.
Additionally, in the conventional login program providing a trusted path, there is not provided a technical means and method for determining whether a login program being executed is a normal login program, so there occurs a problem that a highly trusted path is not provided.